/*
 * @Author: LiJia
 * @Date: 2021-03-10 13:08:28
 * @LastEditTime: 2021-03-29 03:33:19
 * @LastEditors: LiJia
 * @Description: Description
 * @FilePath: \class-manage-system\miniprogram\pages\mine\children\teacher-signin\teacher-signin.ts
 */
Page({

  // 页面的初始数据
  data: {
    signinTable: []
  },

  // 生命周期函数--监听页面加载
  onLoad() {
    this.getSigninTable()
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.on('yourData', (req) => {
      console.log(req)
    })
  },

  // 生命周期函数--监听页面初次渲染完成
  onReady() {},

  // 生命周期函数--监听页面显示
  onShow() {},

  // 生命周期函数--监听页面隐藏
  onHide() {},

  // 生命周期函数--监听页面卸载
  onUnload() {},

  // 页面相关事件处理函数--监听用户下拉动作
  onPullDownRefresh() {},

  // 页面上拉触底事件的处理函数
  onReachBottom() {},

  // 用户点击右上角分享
  onShareAppMessage() {
    return {};
  },

  // ==================== 用户自定义方法 start =================== //
  /**
   * 获取教师发布的签到信息表
   */
  getSigninTable() {
    let res = [
      {
        id: "1",
        date: "2020-1-20",
        title: "每日打卡",
        description: "计科学院每日检查",
        deadline: "2020年1月20日 23:59",
        signinNum: 85,
        allNum: 96
      },
      {
        id: "2",
        date: "2020-1-21",
        title: "每日打卡",
        description: "计科学院每日检查",
        deadline: "2020年1月20日 23:59",
        signinNum: 85,
        allNum: 96
      },
      {
        id: "3",
        date: "2020-1-22",
        title: "每日打卡",
        description: "计科学院每日检查",
        deadline: "2020年1月20日 23:59",
        signinNum: 85,
        allNum: 96
      },
      {
        id: "4",
        date: "2020-1-23",
        title: "每日打卡",
        description: "计科学院每日检查",
        deadline: "2020年1月20日 23:59",
        signinNum: 85,
        allNum: 96
      }
    ]
    this.setData({
      signinTable: res as never
    })
  },
  /**
   * 发布新签到，之后再实现
   */
  addNewSingin() {
    let newSignin = {
      id: "1",
      date: this.getCurrentDate(),
      title: "课堂打卡",
      description: "课堂打卡",
      deadline: this.getDeadlineDate(),
      signinNum: 0,
      allNum: 96
    }
    this.setData({
      signinTable: [newSignin as never, ...this.data.signinTable]
    })
  },
  getCurrentDate() {
    let currentDate = new Date(+new Date() + 8 * 3600 * 1000)
    let fmtDate = currentDate.toISOString().split('T')[0]
    return fmtDate
  },
  getDeadlineDate() {
    let deadlineDate = new Date(+new Date() + 9.5 * 3600 * 1000)
    let fmtDate = deadlineDate.toISOString().slice(0, 16).replace('-', '年').replace('-', '月').replace('T', '日 ')
    return fmtDate
  }
  // ==================== 用户自定义方法  end  =================== //
})
